The present application is related to xe2x80x9cA Method and Apparatus for Processing an Image of an Agricultural Fieldxe2x80x9d filed by Benson, et al. on an even date herewith.
This invention relates generally to processing of sensor signals. More particularly, it relates to the determination of the quality of sensor signals received from a sensor in deciding whether to use them or not to use them in the automatic control of an industrial process. Even more particularly, it relates to the determination of the quality of a camera image of an agricultural field, and whether data extracted from that image should be used to guide the vehicle through the field.
All sensors are noisy. By noise, we mean anything that causes the sensor signal to depart from an ideal expected value. This degree of noise or error can be substantial in many sensors.
In most industrial applications, quick and dirty rules of thumb are used to determine whether a sensor is providing signals that are truly representative of the physical phenomenon being monitored. For example, an electronic thermometer being used to monitor the temperature of water boiling at atmospheric pressure and temperature, wherein the temperature is used to control the electricity provided to a heating element, might be configured to reject the signal from the temperature transducer if it exceeds 240xc2x0 F. The underlying assumption is that the transducer is in water and the water is boiling at atmospheric temperature and pressure. Therefore, a temperature of 240xc2x0 F. would indicate an impossible state of events. At standard atmospheric pressure, water should never rise above 212xc2x0 F. It would be appropriate to hard limit a temperature sensor to a temperature slightly above 212xc2x0 F., since such a temperature reading from the sensor would clearly be an error.
Sensor readings, however, and the systems in which they are employed, are often not so easily handled. For example, using the above situation, if the water was being heated in a pressure vessel, it is quite possible that a temperature of 240xc2x0 F. could properly indicate the temperature of boiling water. The likelihood that a temperature of 240xc2x0 F. was incorrect would vary, depending upon the pressure of the pressure vessel in which the water was being boiled. The larger the pressure, the more likely that a temperature of 240xc2x0 F. was still acceptable for use in the temperature feedback control system.
The determination of the acceptability, or the unacceptability of a signal, i.e. the likelihood that the signal accurately represents a true physical phenomenon, may therefore depend on many different machine or process perameters, most significantly including any change or difference from a preceding measurement of the sensor signal. What do we mean by this? Imagine that in the example above, the heating element, heating the water to a boiling point is only capable of raising the temperature by 5xc2x0 F. per minute. If the temperature sensor indicated that the temperature of the water increased by 5xc2x0 in one second, this radical and sudden change (e.g., if changed from 180xc2x0 F. to 185xc2x0 F.), would indicate that the sensor signal was incorrect.
Thus, to provide more accurate control of an automated system, especially in systems where there is a significant amount of noise, it would be beneficial to determine whether a particular sensor reading or a particular signal value, acceptably represented the underlying measured physical phenomenon by taking into account a plurality of different factors, and possibly different measurements, that are not limited to fixed limits.
One class of applications are particularly well suited to this technique, in particular, machine vision systems for guidance or control used in agricultural or construction applications. In recent years, construction and agricultural vehicles, either tracked or wheeled, have been equipped with camera systems that attempt to extract information indicative or characteristic of the surrounding environment from a series of images taken by a camera that is typically fixed to the vehicle. We normally think of computers in the current day as being extremely fast. This is not so in the case of image processing, especially image processing in chaotic visual environments with a great deal of random colors, intensity, and shapes. Such environments include, agricultural applications in which the camera is directed towards the ground where the crops adjacent to the vehicle, and construction environments in which the camera is directed to churned-up earth in the areas adjacent to the vehicle. In both these situations, the shear randomness of much of the image requires extensive processing to extract a signal that can be used to control operation of the vehicle. Any control algorithm that extracts characteristics of the environment from the image itself will inevitably have a huge component of noise. Yet, since the information extracted from this sequence of images is typically used for real time control of the vehicle, it is essential that this image processing happen extremely fast, on the order of several times a second. Inevitably, this means that any extraction of characteristics of the image and hence of the surrounding scene must happen extremely fast and must be (at least at the current time) relatively crude and noisy.
One specific vehicular application in which the characteristics extracted from the image may be noisy is that described in the patent application entitled xe2x80x9cA Method and Apparatus for Processing an Image of an Agricultural Fieldxe2x80x9d, filed contemporaneously herewith. That application is incorporated by reference in its entirety herein for any purpose.
In that application, a series of images are taken by a camera mounted on the harvesting head of a combine. This camera is pointed directly ahead of the vehicle in the direction that the harvesting head travels as it harvests crops. The camera is aligned such that it travels through the field substantially on top of the boundary between the previously cut and uncut regions of the field. In other words, one side of the image shows the portion of the field with the uncut crop and the other side of the image shows the portion of the field with the harvested crop.
FIG. 3 is a typical image taken by a camera in accordance with this invention showing the boundary between the cut and uncut regions extending as a line from the lower left corner of the image frame to the upper central portion of the image frame. This line is approximated in FIG. 4 as described in the above-identified specification.
As each image from this camera is processed, the central processing unit extracts two characteristics of the scene from each image: a numeric value indicative of the boundary line and a numeric value indicative of the intercept of the line. Thus, image processing extracts two numeric values that collectively define a line extracted from the camera image and representative of the physical boundary between the cut and uncut portions of the field. For example, the preferred harvest crop is corn which is planted in rows. The header travels down these rows in which these lines also correspond to the row of planted crop.
Given the rather precise boundary shown in FIG. 3, one might expect that it would be relatively easy to extract the boundary line, the row line from images of like quality. That is true. Unfortunately, in real life, there are a variety of factors, such as variations in leaf growth, insects, dirt, fog, and dust, as well as the curvature of the boundary line in the field that cause the slope and intercept to vary, sometimes considerably, from image frame to successive image frame. For example, FIG. 5 shows an image in which a corn leaf was flashing in front of the camera at the instant the camera took its picture. Superimposed on top of the image is the characteristic boundary line that would have been extracted from this image. As can be seen, the slope and intercept of this line varies considerably from the slope and intercept of an xe2x80x9cuncontaminatedxe2x80x9d image such as that of FIGS. 2 and 3. If the vehicle guidance systems actually received the slope and intercept from FIG. 4 and attempted to change the direction of the vehicle based on the resulting calculated position error, the combine would suddenly and unexpectedly turn to the right, away from the boundary line, in an attempt to xe2x80x9cmovexe2x80x9d the boundary line closer to that represented in FIGS. 3 and 4. In short, the vehicle""s guidance system would believe that the vehicle was off course.
Erroneous calculations and hence erroneous numeric values can be expected in agricultural and construction applications such as those described herein. The problem is not easy to solve in this instance for a couple reasons. There is nothing inherent in the erroneous slope and intercept of FIG. 4. Indeed, the combine might well be traveling in a very off-course manner such as that suggested by the erroneous characteristic line shown in FIG. 4 and therefore need to be moved into the proper position. Yet, at the same time, we do know that the farther the slope and intercept are from that shown in FIGS. 2 and 3, the less likely it is that they truly represent the boundary line between the cut and uncut portion of the field. At the same time, if the slope and intercept of FIG. 4 came about because of a gradual drift in the vehicle (i.e., a gradual change in slope and intercept over time), it is more likely that they do represent a true slope and intercept of the boundary line. When a corn stalk or other item flashes across in front of the camera, there will be a sudden and pronounced change in the slope and intercept as compared to one or more previous slopes and intercepts taken from image frames previously processed.
Any method of determining whether a particular signal (e.g., a particular slope and intercept) truly represents the boundary line of the cut and uncut portions of the field will therefore depend not only on the distance from a presumed perfect slope and intercept (i.e. the slope and intercept that would exist when the vehicle is tracking perfectly through the field harvesting crop), but also the rate of change of the slope and intercept as compared to previously measured slopes and intercepts. Accommodating these two changing probabilities is difficult when fixed acceptance/rejection limits are applied. What is needed is a method for quantifying the acceptability/unacceptability of the sensor signals based upon a plurality of different measurements to determine whether or not a particular sensor signal (e.g., slope and intercept) are acceptable for use in vehicle control or guidance. It is an object of this invention to provide such a system.
In accordance with the first embodiment of the invention, a method of processing a sensor signal indicative of an environmental condition includes the steps of receiving an electrical sensor signal indicative of an environmental condition, deriving from the sensor signal at least one numeric sensor signal value characteristic of an environmental condition, processing the sensor signal with a plurality of fuzzy logic input membership functions, combining the outputs of the plurality of fuzzy logic membership functions in at least one fuzzy logic output membership function, and defuzzifying the output of the at least one output membership function to determine whether or not the signal is acceptable or not.
The sensor signal may be a plurality of numeric values indicative of an electronic camera image.
The at least one numeric sensor value may be indicative of the boundary between a cut portion and an uncut portion of an agricultural field, and further, the step of deriving may include the step of analyzing the camera image to reduce the plurality of numeric values to the at least one numeric sensor signal value.
The step of processing the sensor signal may include the steps of processing a first of the plurality of numeric sensor values with a first of the plurality of fuzzy logic input membership functions, wherein the first input membership function may be indicative of the acceptability/unacceptability of the first numeric sensor value, processing a second of the plurality of numeric sensor values with the second of the plurality of fuzzy logic membership functions, wherein the second input membership function may be indicative of the acceptability/unacceptability of the second numeric sensor value.
The step of combining the outputs may include the step of combining the outputs of the first and second membership functions in at least one fuzzy logic output membership function.
The first numeric sensor value may be derived from a first electronic image.
The second numeric sensor value may be derived from the first electronic image.
In accordance with the second embodiment of the invention, a method of processing a sequence of electronic camera images using fuzzy logic is provided including the steps of taking a first electronic camera image indicative of a scene including cut and uncut vegetation in an agricultural field by an electronic camera, deriving from the first image a first numeric value indicative of a first characteristic of the first image, processing the first numeric value with at least a first fuzzy logic input membership function to provide a first numeric input value, combining the first numeric input value with at least a first fuzzy logic output membership function to provide a first numeric output value, defuzzifying the first numeric output value to determine whether or not the first numeric value properly characterizes the first image or not and saving the first numeric value.
The method may further include the steps of deriving from the first image a second numeric value indicative of a second characteristic of the first image, and processing the second numeric value with at least a second fuzzy logic input membership function to provide a second numeric input value.
The first and second characteristics may both be indicative of a boundary line defined between a cut and an uncut region of the field.
The first and second characteristics may be indicative of a row of uncut crop.
The first and second characteristics may define a line substantially parallel to a row of uncut crop.
The step of combining may include the step of combining first numeric input value and the second numeric input value with the at least a first fuzzy logic output membership function to provide the first numeric output value.
The step of defuzzifying the first numeric input value may include the step of determining that the first numeric value is acceptable, the method may further include the steps of modifying the first fuzzy logic input membership function with the acceptable first numeric input value, taking a second electronic camera image indicative of a scene including cut and uncut vegetation in an agricultural field by an electronic camera, deriving from the second image a second numeric value indicative of the first characteristic of the first image, processing the second numeric value with the previously modified at least a first fuzzy logic input membership function to provide a second numeric input value, combining the second numeric input value with the at least a first fuzzy logic output membership function to provide a second numeric output value, and defuzzifying the second numeric output value to determine whether or not the second numeric value properly characterizes the first image or not.
The step of modifying the first fuzzy logic input membership function may further include the step of changing the x-axis of the membership function based upon the value of the acceptable first numeric output value.
The step of modifying the first fuzzy logic input function may include the step of combining the first numeric output value and the second numeric output value to provide a third numeric output value indicative of the difference between the first and second numeric output values.
In accordance with a third embodiment of the invention, a work vehicle includes a ground engaging implement having a camera for taking electronic pictures of a portion of ground and/or vegetation in front of the vehicle, and a guidance control system responsive to successive images generated by the camera and implements, a method for determining whether each of the successive images transmitted by the camera to the guidance system should be used to guide the vehicle, wherein the method includes the steps of taking a picture of the ground in front of the vehicle with the camera, processing the picture to provide a first numerical value indicative of a characteristic of the ground and/or vegetation in front of the vehicle with the guidance system, wherein the numerical value may be indicative of a line of travel of the vehicle, determining whether or not the first numerical value is acceptable using at least two fuzzy logic input functions, combining the results of the at least two fuzzy logic input functions as inputs to a fuzzy logic output function, and based upon a numerical result generated by the fuzzy logic output function, determining whether the first numerical value should be used to guide the vehicle.
A first of the at least two fuzzy logic input functions may vary in its output both when a previously calculated first numerical value changes and when the first numerical value changes.
The previously calculated first numerical value was calculated by taking a previous picture of the ground in front of the vehicle with the camera and processing the previous picture to provide the previously acceptable numerical value indicative of a characteristic of the ground and/or vegetation in front of the vehicle with the guidance system, wherein the previously acceptable numerical value may be indicative of a line of travel of the vehicle, determining whether or not the first numerical value may be acceptable using the at least two fuzzy logic input functions, combining the results of the at least two fuzzy logic input functions as inputs to a fuzzy logic output function, and determining that the previously calculated first numerical value should be used to guide the vehicle, based upon a numerical result generated by the fuzzy logic output function.
An output of a second of the at least two fuzzy logic input functions may vary when the first numerical value changes.
A fourth embodiment of the invention which may further include the steps of processing the picture to provide a second numerical value indicative of a characteristic of the ground and/or vegetation in front of the vehicle with the guidance system, wherein the second numerical value may be indicative of a line of travel of the vehicle and determining whether or not the second numerical value may be acceptable using the at least two fuzzy logic input functions.